package cn.com.huzo.repository.tech;

import cn.com.huzo.model.entities.tech.PieceYardageCatalogueEntity;
import huzofw.repository.GenericRepository;
import java.util.List;
import java.util.Map;

/**
 * 单耗目录数据访问对象接口。
 *
 * @author 吴旭
 */
public interface PieceYardageCatalogueRepository extends GenericRepository<PieceYardageCatalogueEntity, Long> {

    /**
     * 返回该所属单耗目录下的全部单耗目录数据列表。
     *
     * @param RootNodeName 根节点名称
     * @param ParentKey 所属单耗目录标识
     *
     * @return 该所属单耗目录下的全部单耗目录数据
     */
    List<PieceYardageCatalogueEntity> fetchTreeNodeByParentKey(String RootNodeName, Long ParentKey);

    /**
     * 改变所属目录
     * <p>
     * @param nodeParams 节点及父节点标识
     * @return
     */
    Integer changeParentCatalogue(Map<String, Object> nodeParams);

    /**
     * 根据给定的单耗目录结点，判断其下是否有所属单耗目录。
     * <p>
     * @param key 单耗目录结点标识
     * @return 所属单耗目录记录数。
     */
    Integer isNullNode(Long key);

    /**
     * 得到新的顺序号
     * <p>
     * @param parentId 所属目录标识
     * @return 新的顺序号
     */
    String fetchNewOrderNo(Long parentId);
}
